package co.gov.medellin.ssti.sub.model.dao;

public interface GrupoFamiliarDAO {
	/**
	 * Metodo que inserta en la tabla TCS_BEN_GRUPO_FAMILIAR un nuevo grupo
	 * familiar.
	 * 
	 * @param codeCabeza
	 *            Codigo del beneficiario que es cabeza del grupo familiar
	 *            (BEN_CODIGO).
	 * @param nombre
	 *            Nombre del grupo familiar. numero_identificacion_cabeza, al
	 *            que se le concatena al principio GF-. Ej con codeCabeza
	 *            71389780 quedaria: GF-71389780.
	 * @param codeParentezco
	 *            Codigo del parentezco (VFL_CODIGO_PARENTESCO).
	 * @param user
	 *            Usuario que realiza el insert.
	 * @param terminal
	 *            Terminal desde donde se realiza el insert.
	 * @param fecha
	 *            Fecha en la que se realiza el insert.
	 * @return
	 * 
	 */
	String[] insert(Long codeCabeza, String nombre, Long codeParentezco,
			String user, String terminal, String fecha);

	/**
	 * Metodo que consulta el codigo maximo en la tabla TCS_BEN_GRUPO_FAMILIAR.
	 * 
	 * @return MAX(CODIGO) de TCS_BEN_GRUPO_FAMILIAR.
	 * 
	 */
	Long findMaxCode();

	/**
	 * Metodo que inserta en TCS_BEN_BENEF_GRUPO_FAMILIAR un registro para el
	 * beneficiario.
	 * 
	 * @param codeBeneficiario
	 *            Codigo del beneficiario.
	 * @param codeGF
	 *            Codigo del grupo familiar.
	 * @param codeParentezco
	 *            Codigo de parentezco.
	 * @param user
	 *            Usuario que realiza la operacion.
	 * @param terminal
	 *            Terminal desde donde se realiza la operacion.
	 * @param fecha
	 *            Fecha en la que se realiza la operacion.
	 * @return true si se asigna.
	 * 
	 */
	boolean asignarBeneficiarioAGrupoFamiliar(Long codeBeneficiario,
			Long codeGF, Long codeParentezco, String user, String terminal,
			String fecha);
}
